this._shellInfo = new ShellInfo();
- this._viewSelector = new ViewSelector.ViewSelector();
+ this._searchEntry = new St.Entry({ name: 'searchEntry',
+ /* Translators: this is the text displayed
+ in the search entry when no search is
+ active; it should not exceed ~30
+ characters. */
+ hint_text: _("Type to search..."),
+ track_hover: true,
+ can_focus: true });
+ this._group.add_actor(this._searchEntry);
+
+ this._viewSelector = new ViewSelector.ViewSelector(this._searchEntry);
this._group.add_actor(this._viewSelector.actor);
// TODO - recalculate everything when desktop size changes
this._coverPane.set_position(0, contentY);
this._coverPane.set_size(primary.width, contentHeight);
+ let searchWidth = this._searchEntry.get_width();
+ let searchHeight = this._searchEntry.get_height();
+ let searchX = (primary.width - searchWidth) / 2;
+ let searchY = contentY + this._spacing;
+
let dashWidth = Math.round(DASH_SPLIT_FRACTION * primary.width);
let viewWidth = primary.width - dashWidth - this._spacing;
- let viewHeight = contentHeight - 2 * this._spacing;
- let viewY = contentY + this._spacing;
+ let viewHeight = contentHeight - 2 * this._spacing - searchHeight;
+ let viewY = contentY + this._spacing + searchHeight;
let viewX = rtl ? 0 : dashWidth + this._spacing;
// Set the dash's x position - y is handled by a constraint
}
this._dash.actor.set_x(dashX);
+ this._searchEntry.set_position(searchX, searchY);
this._viewSelector.actor.set_position(viewX, viewY);
this._viewSelector.actor.set_size(viewWidth, viewHeight);
},
Name: 'SearchTab',
Extends: BaseTab,
- _init: function() {
+ _init: function(searchEntry) {
this.active = false;
this._searchPending = false;
this._searchTimeoutId = 0;
this._searchSystem = new Search.SearchSystem();
- this._entry = new St.Entry({ name: 'searchEntry',
- /* Translators: this is the text displayed
- in the search entry when no search is
- active; it should not exceed ~30
- characters. */
- hint_text: _("Type to search..."),
- track_hover: true,
- can_focus: true });
+ this._entry = searchEntry;
ShellEntry.addContextMenu(this._entry);
this._text = this._entry.clutter_text;
this._text.connect('key-press-event', Lang.bind(this, this._onKeyPress));
this._iconClickedId = 0;
this._searchResults = new SearchDisplay.SearchResults(this._searchSystem);
- this.parent(this._entry, this._searchResults.actor, _("Search"), 'edit-find');
+ this.parent(new St.Bin() /* Dummy */, this._searchResults.actor, _("Search"), 'edit-find');
this._text.connect('text-changed', Lang.bind(this, this._onTextChanged));
this._text.connect('key-press-event', Lang.bind(this, function (o, e) {
const ViewSelector = new Lang.Class({
Name: 'ViewSelector',
- _init : function() {
+ _init : function(searchEntry) {
this.actor = new St.BoxLayout({ name: 'viewSelector',
vertical: true });
this._tabs = [];
this._activeTab = null;
- this._searchTab = new SearchTab();
+ this._searchTab = new SearchTab(searchEntry);
this._searchArea.set_child(this._searchTab.title);
this._addTab(this._searchTab);